package com.github.data_manage.domain.po

import cn.idev.excel.annotation.ExcelIgnore
import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.GeneratedValue
import jakarta.persistence.GenerationType
import jakarta.persistence.Id
import jakarta.persistence.Table
import java.math.BigDecimal
import java.time.LocalDate

/**
 * 基金深度调研附加信息中的指数对比信息
 * @author chenhainan
 * @since 2025/8/13
 */
@Entity
@Table(name = "t_fund_depth_research_contrast_attach")
open class FundDepthResearchContrastAttach {

    constructor(fundId: Int?, contrastId: Int?, dataMonth: LocalDate?) {
        this.fundId = fundId
        this.dataMonth = dataMonth
        this.contrastId = contrastId
    }

    constructor()


    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @ExcelIgnore
    open var id: Long? = null

    @Column(name = "fund_id")
    open var fundId: Int? = null

    open var dataMonth: LocalDate? = null

    open var contrastId: Int? = null

    @Column(columnDefinition = "decimal(10,4)")
    open var threeMRollPerf: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var sixMRollPerf: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var twelveMRollPerf: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var thirtySixMRollPerf: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var twelveMRollVol: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var thirtySixMRollVol: BigDecimal? = BigDecimal.ZERO

    open var threeMOutUnderPerf: BigDecimal? = null

    open var sixMOutUnderPerf: BigDecimal? = null

    open var twelveMOutUnderPerf: BigDecimal? = null

    open var thirtySixMOutUnderPerf: BigDecimal? = null

    open var twelveMRollBeta: BigDecimal? = null

    open var twelveMRollCorrel: BigDecimal? = null

    open var thirtySixMRollBeta: BigDecimal? = null

    open var thirtySixMRollCorrel: BigDecimal? = null

    open var beta: BigDecimal? = BigDecimal.ZERO

    open var betaLong: BigDecimal? = BigDecimal.ZERO

    open var betaShort: BigDecimal? = BigDecimal.ZERO

    open var alpha: BigDecimal? = BigDecimal.ZERO

    open var alphaLong: BigDecimal? = BigDecimal.ZERO

    open var alphaShort: BigDecimal? = BigDecimal.ZERO

    open var betaCumulative: BigDecimal? = BigDecimal.ZERO

    open var betaLongCumulative: BigDecimal? = BigDecimal.ZERO

    open var betaShortCumulative: BigDecimal? = BigDecimal.ZERO

    open var alphaCumulative: BigDecimal? = BigDecimal.ZERO

    open var alphaLongCumulative: BigDecimal? = BigDecimal.ZERO

    open var alphaShortCumulative: BigDecimal? = BigDecimal.ZERO
}